﻿
/**
 * Proyecto: Cognitum
 * Global IT Services 2008
 * @author
 */
Cognitum.Polizas.Certificado.Entity = function(){
    if (LOG.isDebugEnabled()) {
        LOG.debug('[Cognitum.Polizas.Certificado.Entity.ctor] <-');
    }
    Cognitum.Polizas.Certificado.Entity.superclass.constructor.call(this);
}

Ext.extend(Cognitum.Polizas.Certificado.Entity, Karma.Core.Entity, {
    id: 'Certificados.Entity',
    name: 'Certificados',
    editorXType: 'pol.cert.editor',
    editorW: 500,
    editorH: 450,
    columns: [{
        Name: 'Id',
        Property: 'Id',
        Mostrar: false
    }, {
        Name: 'Nombre',
        Property: 'Nombre'
    }, {
        Name: 'Apellido Paterno',
        Property: 'ApellidoPaterno'
    }, {
        Name: 'Apellido Materno',
        Property: 'ApellidoMaterno'
    }, {
        Name: 'Fecha Nacimiento',
        Property: 'FechaNacimiento',
        Tipo: 'fecha'
    }, {
        Name: 'Sexo',
        Property: 'Sexo',
        Tipo: 'enum',
        TipoEnum: 'Cognitum.Dominio.Cartera.SexoEnum'
    }, {
        Name: 'Tipo',
        Property: 'Tipo',
        Tipo: 'enum',
        TipoEnum: 'Cognitum.Dominio.Polizas.Beneficios.CertificadoTipoEnum'
    }],
    
    searchlist: {
        canNew: false,
        canUpdate: false,
        canDelete: false,
        grouping: true,
        sortings: ['Id'],
        views: [{
            Id: 0,
            Nombre: 'Normal',
            Template: null
        }, {
            Id: 1,
            Nombre: 'Expandida',
            Template: null
        }],
        previewTemplate: null
    },
    link: {
        displayProperty: new Ext.XTemplate('{Nombre} {ApellidoPaterno} {ApellidoMaterno}'),
        tpl: '<span><h3>Certificado: {Inciso}</h3></span>{Nombre} {ApellidoPaterno} {ApellidoMaterno}'
    },
    aggregatelist: {
        canNew: true,
        canUpdate: true,
        canDelete: false,
        newRecord: function(){
            var parameters = null;
            if (Ext.isEmpty(this.parentEntity.Poliza)) {
                parameters = this.getParentParameters();
            }
            else 
                if (Ext.isEmpty(this.parentEntity.Grupo)) {
                    parameters = this.getParentParameters();
                }
                else {
                    parameters = [{
                        Id: this.parentEntity.Poliza.Id
                    }, {
                        Id: this.parentEntity.Id
                    }];
                }
            this.entity.NewFromEntity(parameters, {
                flush: {
                    fn: function(result, form){
                        this.reload();
                    },
                    scope: this
                }
            });
        }
    }
});

Cognitum.Certificado = Cognitum.Polizas.Certificado.Entity;
